package com.example.springbootdemo2023.bus.platform.controller;


import com.example.springbootdemo2023.bus.platform.dto.Platform;
import com.example.springbootdemo2023.bus.platform.service.IPlatformService;
import com.example.springbootdemo2023.core.annotations.MySysLog;
import com.example.springbootdemo2023.core.annotations.MySysLogOpration;
import com.example.springbootdemo2023.core.dto.MyResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 *
 * 平台信息管理
 * @author GaoJingBo
 * @since 2023-04-07
 */
@RestController
@RequestMapping("/sys/platform")
@Api(tags={"平台信息管理"})
@Slf4j
public class PlatformController {

    @Resource(name = "platformServiceImpl")
    private IPlatformService platformService;

    /**
     * 平台信息管理：获取平台信息
     * @param platformID
     * @return
     */
    @GetMapping("/getData")
    @ApiOperation("获取平台信息")
    @MySysLog(modelName="平台信息管理",methodDesc = "获取平台信息",methodType = MySysLogOpration.GET)
    public MyResult getData(String platformID){
        log.info("--- 平台信息管理：获取平台信息");

        MyResult result = new MyResult();

        try{
            result = platformService.getData(platformID);
        }catch (Exception e){
            e.printStackTrace();
            result.setMsg("获取平台信息系统异常");
            result.setCode("9999");
        }

        return result;
    }

    /**
     * 平台信息管理：修改平台信息
     * @param platform
     * @return
     */
    @PutMapping("/update")
    @ApiOperation("修改平台信息")
    @MySysLog(modelName="平台信息管理",methodDesc = "修改平台信息",methodType = MySysLogOpration.PUT)
    public MyResult update(@RequestBody Platform platform){
        log.info("--- 平台信息管理：修改平台信息");

        MyResult result = new MyResult();

        try{
            result = platformService.update(platform);
        }catch (Exception e){
            e.printStackTrace();
            result.setMsg("修改平台信息系统异常");
            result.setCode("9999");
        }

        return result;
    }

}
